
#if !defined(AFX_ZMJUCD_H__6866CCF3_DA46_4B0E_993A_F54618BB90C5__INCLUDED_)
#define AFX_ZMJUCD_H__6866CCF3_DA46_4B0E_993A_F54618BB90C5__INCLUDED_

#ifdef __cplusplus
extern "C" {
#endif


#ifdef ZQ58DTK_EXPORTS
#define ZQ58DTK_API __declspec(dllexport)
#else
#define ZQ58DTK_API __declspec(dllimport)
#endif

// This class is exported from the ZQ58DTK.dll
class ZQ58DTK_API CZQ58DTK {
public:
	CZQ58DTK(void);
	// TODO: add your methods here.
};

extern ZQ58DTK_API BYTE ZQ58_SW[2];

ZQ58DTK_API INT __stdcall ZQ58_Connect();
ZQ58DTK_API INT __stdcall ZQ58_GetSW(BYTE *CardSW);
ZQ58DTK_API INT __stdcall ZQ58_Beep(INT icdev,BYTE BeepTime);
ZQ58DTK_API INT __stdcall ZQ58_PsamInit(INT icdev,BYTE card_simid,BYTE *ZDBH,BYTE *KeyFun);
ZQ58DTK_API INT __stdcall ZQ58_CpuInit(INT icdev,BYTE card_simid,BYTE *CpuUid,BYTE *LFlen);

ZQ58DTK_API INT __stdcall ZQ58_ReadAuth(INT icdev,BYTE card_simid);
ZQ58DTK_API INT __stdcall ZQ58_WriteAuth(INT icdev,BYTE card_simid);

ZQ58DTK_API INT __stdcall ZQ58_Read0009(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0010(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0011(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0012(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0013(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0014(INT icdev,BYTE card_simid,BYTE *FileAdd,BYTE *FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0015(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Read0016(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);


ZQ58DTK_API INT __stdcall ZQ58_Write0009(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0010(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0011(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0012(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0013(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0014(INT icdev,BYTE card_simid,BYTE *FileAdd,BYTE *FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0015(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_Write0016(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);


ZQ58DTK_API INT __stdcall ZQ58_PsamPin(INT icdev,BYTE card_simid,BYTE *PinValue);

ZQ58DTK_API INT __stdcall ZQ58_EPBalance(INT icdev,BYTE card_simid,BYTE *Amount);
ZQ58DTK_API INT __stdcall ZQ58_EPXF(INT icdev,BYTE card_simid,BYTE *Amount,BYTE *DateTime,BYTE *rData);
ZQ58DTK_API INT __stdcall ZQ58_EPCZ(INT icdev,BYTE card_simid,BYTE *Amount,BYTE *DateTime,BYTE *rData);

ZQ58DTK_API INT __stdcall ZQ58_EDBalance(INT icdev,BYTE card_simid,BYTE *Amount);
ZQ58DTK_API INT __stdcall ZQ58_EDXF(INT icdev,BYTE card_simid,BYTE *Amount,BYTE *DateTime,BYTE *rData);
ZQ58DTK_API INT __stdcall ZQ58_EDCZ(INT icdev,BYTE card_simid,BYTE *Amount,BYTE *DateTime,BYTE *rData);

ZQ58DTK_API INT __stdcall ZQ58_ReadJYRecord(INT icdev,BYTE card_simid,BYTE RecordNo,BYTE *rData);
ZQ58DTK_API INT __stdcall ZQ58_VerifTac(INT icdev,BYTE card_simid,BYTE RecLen,BYTE *RecData,BYTE *TacValue);
ZQ58DTK_API INT __stdcall ZQ58_BSCard(INT icdev,BYTE card_simid,BYTE *rLen,BYTE *rData);

ZQ58DTK_API INT __stdcall ZQ58_CardRND(INT icdev,BYTE um_simid,BYTE uma_simid,BYTE *uma_PIN,BYTE *CardSN,BYTE *CardRND);
ZQ58DTK_API INT __stdcall ZQ58_CardRST(INT icdev,BYTE sys_simid,BYTE *sys_PIN,BYTE *CardSN,BYTE *CardRND,BYTE *CardRST);
ZQ58DTK_API INT __stdcall ZQ58_CardReNew(INT icdev,BYTE um_simid,BYTE uma_simid,BYTE *uma_PIN,BYTE *CardRND,BYTE *CardRST);
ZQ58DTK_API INT __stdcall ZQ58_PRead0019(INT icdev,BYTE card_simid,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_PWrite0019(INT icdev,BYTE pm_simid,BYTE pma_simid,BYTE pw_simid,BYTE *pma_PIN,BYTE FileAdd,BYTE FileLen,BYTE *FileData);
ZQ58DTK_API INT __stdcall ZQ58_PWriteZDBH(INT icdev,BYTE sys_simid,BYTE pm_simid,BYTE pma_simid,BYTE pw_simid,BYTE *sys_PIN,BYTE *pma_PIN,BYTE *ZDBH);


#ifdef __cplusplus
}
#endif

#endif // !defined(AFX_ZMJUCD_H__6866CCF3_DA46_4B0E_993A_F54618BB90C5__INCLUDED_)

